A typical communication network comprises a number of nodes interconnected by communication links, forming communication paths between different nodes on the network. Communication signals are routed over the network from a source node to a predefined destination node over a path which may include a number of nodes and links. Information defining the particular path to be taken and the destination may be carried with the data, for example in a packet header which is read at each node and controls a router at each node to direct the data along the next appropriate communication link of the specified path. This method of data transmission may be referred to as tag or label switching, of which asynchronous transfer mode (ATM) is a well-known example and another is multi-protocol label switching (MPLS) which has been proposed more recently.
For each working path of a communication network, the provision of a second alternative path is normally required which is able to carry the data traffic intended for the working path to the predefined destination node in the event that the transmission capability of the first communication path becomes impaired, for example due to excessive traffic density or a fault or failure in the data transmission capability of the working path.
A physical path between two nodes on a network, for example between an ingress label ledge router (LER) and an egress label edge router may carry a large number of label switched paths (LSP's) (e.g. a thousand or more). Each label switched path has a unique labelling system which enables the common destination node at which the LSPs terminate to uniquely identify data associated with each LSP and to forward the data according to the LSP with which the data is associated. In order to simplify the processing required by each label switching router (LSR) in transmitting data of different LSPs along the working path, the multiple LSPs may be aggregated into a single LSP so that all LSPs using the same working path are treated by the intermediate LSRs between the source and destination nodes as one LSP. In one implementation of this system, a single LSP is set up between the source node and the destination node. Data output from the source node includes both a label associated with its particular LSP, which is to be read by the destination node, and a higher level label which is common to all LSPs and which identifies the data in each LSP as belonging to the common, aggregate LSP. The intermediate LSRs are programmed only to read the higher level labels associated with the aggregate LSP and to ignore the lower level labels associated with each individual LSP, which propagate, unchanged along the working path to the destination node. In this way, the LSP forwarding table at each intermediate LSR is simplified and the processing time at each LSR therefore reduced as different LSPs are effectively seen and treated as a single LSP.
To protect traffic flow against a fault or failure in transmission along the primary path between the source and destination nodes, a secondary path between the source and destination nodes is provided, and in the event of a fault, the data flow is switched by the source node from the primary path to the secondary path. Typically, for each LSP carried on the primary path between the source and destination nodes, a secondary LSP is established for the secondary path. In the case of protection, each secondary LSP is set up before a fault occurs on the primary path, and in the case of restoration, each secondary LSP is set up after a fault occurs on the primary path. The labelling system associated with each secondary LSP is unique between different secondary LSPs and all of the primary LSPs to enable the destination node to uniquely identify each secondary LSP as acting as a secondary LSP for a particular primary LSP. Thus, whether the secondary path is used for protection or restoration, the source node must contain both a first forwarding table containing labels for each primary LSP and a second forwarding table containing labels for each secondary LSP.
One particular drawback of this known system is the time required to set up the secondary LSPs, which increases with the number of LSPs carried on the primary path, each of which requires a secondary LSP to be dialled over the secondary path. This problem may become particularly severe when invoking a path restoration scheme which may involve establishing (or dialling) many, for example a thousand or more secondary LSPs when a failure occurs on the primary path. Although such a restoration scheme may be practical for small numbers of LSPs, the time required to complete restoration for large numbers of LSPs may be unacceptable, and therefore such a scheme is not particularly scalable.
A number of path restoration schemes have been proposed and published by the Internet Engineering Task Force and are available on their web site at www.ietf.com. These include “A Path Protection/Restoration Mechanism for MPLS Networks,” Ken Owens et al; “Extensions to RSVP-TE for MPLS Path Protection,” Vishal Sharma, and “Framework for MPLS-based Recovery,” Vishal Sharma et al. However, none of these proposed approaches addresses the scalability concerns mentioned above.